Feat/smart task organizer recipe#5032
Conversation
Add an impressive beginner-level recipe that automatically organizes and prioritizes tasks from various sources (files, emails, messages) into actionable todo lists using AI-powered automation. Key Features: - Multi-source task extraction (files, emails, messages, notes) - Intelligent categorization by urgency and importance - Project-based task organization - Priority filtering and deadline tracking - Actionable task transformation Recipe Details: - Uses exactly 1 built-in MCP server (Filesystem) - beginner requirement - Comprehensive parameter system for flexible task management - Detailed prompt template with conditional logic - Follows proper YAML structure and validation - Addresses real-world productivity challenges Hacktoberfest Contribution: - Addresses issue block#4933: Beginner Recipe Submission block#2 - Meets all beginner recipe criteria - Provides immediate value to users - Demonstrates practical AI workflow automation Impact: - Helps users turn scattered information into organized action plans - Reduces task overwhelm through intelligent prioritization - Enhances productivity with automated task management - Showcases practical AI-assisted workflow optimization Signed-off-by: aegntic <research@aegntic.ai>
…zer.yaml Co-authored-by: Rizel Scarlett <rizel@tbd.email> Signed-off-by: aegntic <research@aegntic.ai>
Signed-off-by: aegntic <research@aegntic.ai>
…' into feat/smart-task-organizer-recipe Signed-off-by: aegntic <research@aegntic.ai>
Signed-off-by: aegntic <research@aegntic.ai>
Signed-off-by: aegntic <research@aegntic.ai>
… organization - Add structured 4-phase prompt system (discovery, analysis, organization, summary) - Implement prompt chain definition for sequential processing - Create specialized agent prompts for each phase - Enhance MCP filesystem integration with specific capabilities - Add intelligent task extraction and prioritization rules - Include comprehensive output filtering and workflow optimization - Improve actionable insights and next steps generation Signed-off-by: aegntic <research@aegntic.ai>
- Enhanced Windows detection for Git Bash, MSYS2, Cygwin, and WSL environments - Added multiple detection methods: WINDIR, OSTYPE, /proc/version, mount points, Windows executables - Fixed issue where Git Bash on Windows incorrectly detected as Linux - Added debug output to help troubleshoot OS detection issues - Improved extraction tool validation based on detected OS - Fixes block#4848 where CLI installation failed due to downloading Linux tar.bz2 instead of Windows zip Closes block#4848 Signed-off-by: aegntic <research@aegntic.ai> diff --git a/download_cli.sh b/download_cli.sh index 2131924..107d3e7 100755 --- a/download_cli.sh +++ b/download_cli.sh @@ -36,6 +36,20 @@ if ! command -v tar >/dev/null 2>&1 && ! command -v unzip >/dev/null 2>&1; then exit 1 fi +# Check for required extraction tools based on detected OS +if [ "$OS" = "windows" ]; then + # Windows uses PowerShell's built-in Expand-Archive - check if PowerShell is available + if ! command -v powershell.exe >/dev/null 2>&1 && ! command -v pwsh >/dev/null 2>&1; then + echo "Warning: PowerShell is recommended to extract Windows packages but was not found." + echo "Falling back to unzip if available." + fi +else + if ! command -v tar >/dev/null 2>&1; then + echo "Error: 'tar' is required to extract packages for $OS. Please install tar and try again." + exit 1 + fi +fi + # --- 2) Variables --- REPO="block/goose" @@ -58,12 +72,33 @@ else fi # --- 3) Detect OS/Architecture --- -OS=$(uname -s | tr '[:upper:]' '[:lower:]') +# Better OS detection for Windows environments +if [[ "${WINDIR:-}" ]] || [[ "${windir:-}" ]] || [[ "$OSTYPE" == "msys" ]] || [[ "$OSTYPE" == "cygwin" ]]; then + OS="windows" +elif [[ -f "/proc/version" ]] && grep -q "Microsoft\|WSL" /proc/version 2>/dev/null; then + # WSL detection + OS="windows" +elif [[ "$PWD" =~ ^/mnt/[a-zA-Z]/ ]]; then + # WSL mount point detection (like /mnt/c/) + OS="windows" +elif [[ "$OSTYPE" == "darwin"* ]]; then + OS="darwin" +elif command -v powershell.exe >/dev/null 2>&1 || command -v cmd.exe >/dev/null 2>&1; then + # Check if Windows executables are available (another Windows indicator) + OS="windows" +elif [[ "$PWD" =~ ^/[a-zA-Z]/ ]] && [[ -d "/c" || -d "/d" || -d "/e" ]]; then + # Check for Windows-style mount points (like in Git Bash) + OS="windows" +else + # Fallback to uname for other systems + OS=$(uname -s | tr '[:upper:]' '[:lower:]') +fi + ARCH=$(uname -m) # Handle Windows environments (MSYS2, Git Bash, Cygwin, WSL) case "$OS" in - linux|darwin) ;; + linux|darwin|windows) ;; mingw*|msys*|cygwin*) OS="windows" ;; @@ -87,6 +122,16 @@ case "$ARCH" in ;; esac +# Debug output (safely handle undefined variables) +echo "WINDIR: ${WINDIR:-<not set>}" +echo "OSTYPE: $OSTYPE" +echo "uname -s: $(uname -s)" +echo "uname -m: $(uname -m)" +echo "PWD: $PWD" + +# Output the detected OS +echo "Detected OS: $OS with ARCH $ARCH" + # Build the filename and URL for the stable release if [ "$OS" = "darwin" ]; then FILE="goose-$ARCH-apple-darwin.tar.bz2"
|
hey @aegntic don't forget to add your email address to the initial PR message in the following format, and link to a hacktoberfest issue if you want extra credit for your work.
|
|
hey @aegntic can you remove the |
|
Hi @aegntic ! just wanted to comment again so you have a chance to review and make changes <3 |
|
Hi @aegntic ca you remove the download_cli.sh from this and check if there are any other merge conflicts? |
|
im checking it now :) |
Signed-off-by: aegntic <research@aegntic.ai>
ece9556 to
7a79a1d
Compare
my public email address or the one associated with openrouter? (i dont post it public) |
I think public email is fine! it's for crediting you credits I believe cc @EbonyLouis :) |
|
Do you need the email associated with openrouter or will you send a code?
:) thanks 😊
…On Tue, 21 Oct 2025, 2:42 am taniandjerry, ***@***.***> wrote:
*taniandjerry* left a comment (block/goose#5032)
<#5032 (comment)>
hey @aegntic <https://github.com/aegntic> don't forget to add your email
address to the initial PR message in the following format, and link to a
hacktoberfest issue if you want extra credit for your work.
Email: ***@***.***
my public email address or the one associated with openrouter? (i dont
post it public)
I think public email is fine! it's for crediting you credits I believe cc
@EbonyLouis <https://github.com/EbonyLouis> :)
—
Reply to this email directly, view it on GitHub
<#5032 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/BOQDJBU3EZMYVNHCIY4N5P33YT7GZAVCNFSM6AAAAACINZAHQ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTIMRSGY2DMMJYHE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
OH I see what you mean! Let me just triple check to confirm with the team in just a moment! Then I'll let you know and we can merge the PR after we have the email needed <3 good call! |
|
You can share whichever email you prefer, so your public one is fine to confirm :) @aegntic |
|
I prefer not to disclose my open router login address especially publicly.
Pretty sure ***@***.*** is already part of it :)
…On Tue, 21 Oct 2025, 4:32 am taniandjerry, ***@***.***> wrote:
*taniandjerry* left a comment (block/goose#5032)
<#5032 (comment)>
You can share whichever email you prefer, so your public one is fine to
confirm :) @aegntic <https://github.com/aegntic>
—
Reply to this email directly, view it on GitHub
<#5032 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/BOQDJBTZP56DA3AA3BXTVWT3YUMEVAVCNFSM6AAAAACINZAHQ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTIMRTGA4DCMRUG4>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
* main: Fix extension manager resource deadlock (#5066) add new prompt for memory extension (#4945) feat: Stable system prompt and tool ordering for more cache hits (#5192) Remove gtag analytics error (#5268) Feat/smart task organizer recipe (#5032) docs: `goose recipe open` command (#5264) docs: provide more clarity in tagging step of releases (#5269) docs: add GOOSE_DEBUG environment variable (#5265)
* main: (40 commits) Fix extension manager resource deadlock (#5066) add new prompt for memory extension (#4945) feat: Stable system prompt and tool ordering for more cache hits (#5192) Remove gtag analytics error (#5268) Feat/smart task organizer recipe (#5032) docs: `goose recipe open` command (#5264) docs: provide more clarity in tagging step of releases (#5269) docs: add GOOSE_DEBUG environment variable (#5265) Lifei/UI parameter input (#5222) turn off WAL (#5203) Skip subagents for gemini (#5257) Revert "Standardize Session Name Attribute" (#5250) improve provider request logging a bit (#5236) Fix OpenAI empty choices panic (#5248) Revert "Rewrite extension management tools" (#5243) Standardize Session Name Attribute (#5085) Docs: Include step-by-step model configuration instructions for first… (#5239) Delete message visibility filter (#5216) delete flaky pricing integration tests (#5207) chore: upgrade most npm packages to latest (#5185) ...
* main: live testing script (#5263) Fix extension manager resource deadlock (#5066) add new prompt for memory extension (#4945) feat: Stable system prompt and tool ordering for more cache hits (#5192) Remove gtag analytics error (#5268) Feat/smart task organizer recipe (#5032) docs: `goose recipe open` command (#5264) docs: provide more clarity in tagging step of releases (#5269) docs: add GOOSE_DEBUG environment variable (#5265)
Signed-off-by: aegntic <research@aegntic.ai> Co-authored-by: Rizel Scarlett <rizel@tbd.email> Co-authored-by: aegntic <research@aegntic.ai> Signed-off-by: Blair Allan <Blairallan@icloud.com>
Summary
Type of Change
Testing
Related Issues
Relates to #4933
Discussion: #4933
Screenshots/Demos (for UX changes)
Before:
After:
Email: research@aegntic.ai